package threading;



public class ThreadDemo6Interrupt {
    public static void main(String[] args) {
        Thread t = new Thread(()-> {

            // 1. currentThread是获取到当前线程实例
            // 2. 此处currentThread 得到的对象就是t
            // 3. isInterrupted就是t对象里自带的一个标志位
            while (!Thread.currentThread().isInterrupted()) {
                System.out.println("hello t");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                    break;  //在捕获到异常后可以加上break可以使代码正常结束掉
                }
            }
        });

        t.start();
        System.out.println("hello main");
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        //把标志位设置为true 也就是中断
        t.interrupt();           //默认是false while循环里记得加取反！
    }
}
